package com.shycloud.mido.music.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shycloud.mido.music.domain.MisMusicLibrary;
import com.shycloud.mido.music.dto.MisMusicLibraryDTO;
import com.shycloud.mido.music.vo.CourseWareMusicIPageVO;
import com.shycloud.mido.music.vo.MusicLibraryVO;

import java.util.List;

/**
 * 曲库相关模块service接口
 *
 * @author nianhua.jiang
 * @date 2020/4/27 15:35
 */
public interface MisMusicLibraryService extends IService<MisMusicLibrary> {

	/**
	 * 根据分类ID获取曲库信息
	 *
	 * @param cateId
	 * @return java.util.List<com.shycloud.mido.music.vo.MusicLibraryVO>
	 * @author nianhua.jiang
	 * @date 2020/4/27 15:34
	 */
	List<MusicLibraryVO> getLibraryByCateId(Integer cateId);

	/**
	 * 【添加/编辑】曲库
	 *
	 * @param misMusicLibraryDTO
	 * @return boolean
	 * @author nianhua.jiang
	 * @date 2020/4/29 17:30
	 */
	boolean saveMusicLibrary(MisMusicLibraryDTO misMusicLibraryDTO);

	/**
	 * 分页查询曲库列表
	 *
	 * @param misMusicLibrary
	 * @return com.baomidou.mybatisplus.core.metadata.IPage
	 * @author nianhua.jiang
	 * @date 2020/4/30 10:24
	 */
	IPage getMusicLibrary(MisMusicLibraryDTO misMusicLibrary);

	IPage getMusicLibraryMini(Page page, Integer cateId);

	IPage<CourseWareMusicIPageVO> getLibraryAndCollList(Page page, Integer cateId);
}

